home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / include / Xm / ManagerP.h.z / ManagerP.h
Encoding:
C/C++ Source or Header  |  2003-11-18  |  11.2 KB  |  373 lines

  1. /*
  2.  * ManagerP.h
  3.  *
  4.  * Copyright 2000, Silicon Graphics, Inc.
  5.  * ALL RIGHTS RESERVED
  6.  * 
  7.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8.  * States.   Use of a copyright notice is precautionary only and does not
  9.  * imply publication or disclosure.
  10.  *
  11.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12.  * Use, duplication or disclosure by the Government is subject to restrictions
  13.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18.  *
  19.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23.  * GRAPHICS, INC.
  24.  */
  25. /* 
  26.  * @OSF_COPYRIGHT@
  27.  * (c) Copyright 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE FOUNDATION, INC.
  28.  * ALL RIGHTS RESERVED
  29.  *  
  30. */ 
  31. /*
  32.  * HISTORY
  33.  * Motif Release 1.2.5
  34. */
  35. /*   $XConsortium: ManagerP.h /main/cde1_maint/2 1995/08/18 19:11:21 drk $ */
  36. /*
  37. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  38. /*
  39. *  (c) Copyright 1989, 1990 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  40. /*
  41. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  42. #ifndef _XmManagerP_h
  43. #define _XmManagerP_h
  44.  
  45. #ifndef _XmNO_BC_INCL
  46. #define _XmNO_BC_INCL
  47. #endif
  48.  
  49. #include <Xm/XmP.h>
  50.  
  51. #ifdef __cplusplus
  52. extern "C" {
  53. #endif
  54.  
  55. /*  Access Macros  */
  56.  
  57. #define XmParentTopShadowGC(w)        \
  58.     (((XmManagerWidget) XtParent(w))->manager.top_shadow_GC)
  59.  
  60. #define XmParentBottomShadowGC(w)    \
  61.     (((XmManagerWidget) XtParent(w))->manager.bottom_shadow_GC)
  62.  
  63. #define XmParentHighlightGC(w)        \
  64.     (((XmManagerWidget) XtParent(w))->manager.highlight_GC)
  65.  
  66. #define XmParentBackgroundGC(w)     \
  67.     (((XmManagerWidget) XtParent(w))->manager.background_GC)
  68.  
  69. #define MGR_KeyboardList(m)        \
  70.             (((XmManagerRec *) (m))->manager.keyboard_list)
  71. #define MGR_NumKeyboardEntries(m)    \
  72.             (((XmManagerRec *) (m))->manager.num_keyboard_entries)
  73. #define MGR_SizeKeyboardList(m)        \
  74.             (((XmManagerRec *) (m))->manager.size_keyboard_list)
  75. #define MGR_ShadowThickness(m)        \
  76.             (((XmManagerRec *) (m))->manager.shadow_thickness)
  77.  
  78.  
  79. #define XmInheritTraversalChildrenProc ((XmTraversalChildrenProc) _XtInherit)
  80.  
  81. #ifdef _NO_PROTO
  82. typedef Boolean (*XmTraversalChildrenProc)() ;
  83. #else
  84. typedef Boolean (*XmTraversalChildrenProc)( Widget, Widget **, Cardinal *) ;
  85. #endif
  86.  
  87.  
  88. /*  Structure used for storing accelerator and mnemonic information.  */
  89.  
  90. typedef struct 
  91. {
  92.    unsigned int eventType;
  93.    KeySym       keysym;
  94.    KeyCode      key;
  95.    unsigned int modifiers;
  96.    Widget       component;
  97.    Boolean      needGrab;
  98.    Boolean      isMnemonic;
  99. } XmKeyboardData;
  100.  
  101.  
  102. /*  The class definition  */
  103.  
  104. typedef struct {
  105.     XtPointer next_extension;
  106.     XrmQuark record_type;
  107.     long version;
  108.     Cardinal record_size;
  109.     XmTraversalChildrenProc traversal_children ;
  110. } XmManagerClassExtRec, *XmManagerClassExt ;
  111.  
  112. #define XmManagerClassExtVersion 1L
  113.  
  114. typedef struct _XmManagerClassPart
  115. {
  116.    String               translations;
  117.    XmSyntheticResource * syn_resources;   
  118.    int                  num_syn_resources;   
  119.    XmSyntheticResource * syn_constraint_resources;   
  120.    int                  num_syn_constraint_resources;   
  121.    XmParentProcessProc  parent_process;
  122.    XtPointer            extension;
  123. } XmManagerClassPart;
  124.  
  125. typedef struct _XmManagerClassRec
  126. {
  127.     CoreClassPart       core_class;
  128.     CompositeClassPart  composite_class;
  129.     ConstraintClassPart constraint_class;
  130.     XmManagerClassPart  manager_class;
  131. } XmManagerClassRec;
  132.  
  133. #ifndef MANAGER
  134. externalref XmManagerClassRec xmManagerClassRec;
  135. #endif
  136.  
  137. /*  The instance definition  */
  138.  
  139. typedef struct _XmManagerPart
  140. {
  141.    Pixel   foreground;
  142.  
  143.    Dimension   shadow_thickness;
  144.    Pixel   top_shadow_color;
  145.    Pixmap  top_shadow_pixmap;
  146.    Pixel   bottom_shadow_color;
  147.    Pixmap  bottom_shadow_pixmap;
  148.  
  149.    Pixel   highlight_color;
  150.    Pixmap  highlight_pixmap;
  151.  
  152.    XtCallbackList help_callback;
  153.    XtPointer      user_data;
  154.  
  155.    Boolean traversal_on;
  156.    unsigned char unit_type;
  157.    XmNavigationType navigation_type;
  158.    
  159.    Boolean event_handler_added;
  160.    Widget  active_child;
  161.    Widget  highlighted_widget;
  162.    Widget  accelerator_widget;
  163.  
  164.    Boolean has_focus;
  165.  
  166.    XmStringDirection string_direction;
  167.  
  168.    XmKeyboardData * keyboard_list;
  169.    short num_keyboard_entries;
  170.    short size_keyboard_list;
  171.  
  172.    XmGadget selected_gadget;
  173.    XmGadget eligible_for_multi_button_event;
  174.  
  175.    GC      background_GC;
  176.    GC      highlight_GC;
  177.    GC      top_shadow_GC;
  178.    GC      bottom_shadow_GC;
  179.  
  180.    Widget  initial_focus;
  181. } XmManagerPart;
  182.  
  183. typedef struct _XmManagerRec
  184. {
  185.    CorePart       core;
  186.    CompositePart  composite;
  187.    ConstraintPart constraint;
  188.    XmManagerPart  manager;
  189. } XmManagerRec;
  190.  
  191.  
  192. /*  The constraint definition  */
  193.  
  194. typedef struct _XmManagerConstraintPart
  195. {
  196.    int unused;
  197. } XmManagerConstraintPart;
  198.  
  199. typedef struct _XmManagerConstraintRec
  200. {
  201.    XmManagerConstraintPart manager;
  202. } XmManagerConstraintRec, * XmManagerConstraintPtr;
  203.  
  204.  
  205.  
  206. /********    Private Function Declarations    ********/
  207. #ifdef _NO_PROTO
  208.  
  209. extern void _XmGadgetTraversePrevTabGroup() ;
  210. extern void _XmGadgetTraverseNextTabGroup() ;
  211. extern void _XmGadgetTraverseLeft() ;
  212. extern void _XmGadgetTraverseRight() ;
  213. extern void _XmGadgetTraverseUp() ;
  214. extern void _XmGadgetTraverseDown() ;
  215. extern void _XmGadgetTraverseNext() ;
  216. extern void _XmGadgetTraversePrev() ;
  217. extern void _XmGadgetTraverseHome() ;
  218. extern void _XmGadgetSelect() ;
  219. extern void _XmManagerParentActivate() ;
  220. extern void _XmManagerParentCancel() ;
  221. extern void _XmGadgetButtonMotion() ;
  222. extern void _XmGadgetKeyInput() ;
  223. extern void _XmGadgetArm() ;
  224. extern void _XmGadgetDrag() ;
  225. extern void _XmGadgetActivate() ;
  226. extern void _XmManagerHelp() ;
  227. extern void _XmGadgetMultiArm() ;
  228. extern void _XmGadgetMultiActivate() ;
  229.  
  230. extern void _XmSocorro() ;
  231. extern Boolean _XmParentProcess() ;
  232. extern void _XmClearShadowType() ;
  233. extern void _XmDestroyParentCallback() ;
  234.  
  235. #else
  236.  
  237. extern void _XmGadgetTraversePrevTabGroup( 
  238.                         Widget wid,
  239.                         XEvent *event,
  240.                         String *params,
  241.                         Cardinal *num_params) ;
  242. extern void _XmGadgetTraverseNextTabGroup( 
  243.                         Widget wid,
  244.                         XEvent *event,
  245.                         String *params,
  246.                         Cardinal *num_params) ;
  247. extern void _XmGadgetTraverseLeft( 
  248.                         Widget wid,
  249.                         XEvent *event,
  250.                         String *params,
  251.                         Cardinal *num_params) ;
  252. extern void _XmGadgetTraverseRight( 
  253.                         Widget wid,
  254.                         XEvent *event,
  255.                         String *params,
  256.                         Cardinal *num_params) ;
  257. extern void _XmGadgetTraverseUp( 
  258.                         Widget wid,
  259.                         XEvent *event,
  260.                         String *params,
  261.                         Cardinal *num_params) ;
  262. extern void _XmGadgetTraverseDown( 
  263.                         Widget wid,
  264.                         XEvent *event,
  265.                         String *params,
  266.                         Cardinal *num_params) ;
  267. extern void _XmGadgetTraverseNext( 
  268.                         Widget wid,
  269.                         XEvent *event,
  270.                         String *params,
  271.                         Cardinal *num_params) ;
  272. extern void _XmGadgetTraversePrev( 
  273.                         Widget wid,
  274.                         XEvent *event,
  275.                         String *params,
  276.                         Cardinal *num_params) ;
  277. extern void _XmGadgetTraverseHome( 
  278.                         Widget wid,
  279.                         XEvent *event,
  280.                         String *params,
  281.                         Cardinal *num_params) ;
  282. extern void _XmGadgetSelect( 
  283.                         Widget wid,
  284.                         XEvent *event,
  285.                         String *params,
  286.                         Cardinal *num_params) ;
  287. extern void _XmManagerParentActivate( 
  288.                         Widget mw,
  289.                         XEvent *event,
  290.                         String *params,
  291.                         Cardinal *num_params) ;
  292. extern void _XmManagerParentCancel( 
  293.                         Widget mw,
  294.                         XEvent *event,
  295.                         String *params,
  296.                         Cardinal *num_params) ;
  297. extern void _XmGadgetButtonMotion( 
  298.                         Widget wid,
  299.                         XEvent *event,
  300.                         String *params,
  301.                         Cardinal *num_params) ;
  302. extern void _XmGadgetKeyInput( 
  303.                         Widget wid,
  304.                         XEvent *event,
  305.                         String *params,
  306.                         Cardinal *num_params) ;
  307. extern void _XmGadgetArm( 
  308.                         Widget wid,
  309.                         XEvent *event,
  310.                         String *params,
  311.                         Cardinal *num_params) ;
  312. extern void _XmGadgetDrag( 
  313.                         Widget wid,
  314.                         XEvent *event,
  315.                         String *params,
  316.                         Cardinal *num_params) ;
  317. extern void _XmGadgetActivate( 
  318.                         Widget wid,
  319.                         XEvent *event,
  320.                         String *params,
  321.                         Cardinal *num_params) ;
  322. extern void _XmManagerHelp( 
  323.                         Widget wid,
  324.                         XEvent *event,
  325.                         String *params,
  326.                         Cardinal *num_params) ;
  327. extern void _XmGadgetMultiArm( 
  328.                         Widget wid,
  329.                         XEvent *event,
  330.                         String *params,
  331.                         Cardinal *num_params) ;
  332. extern void _XmGadgetMultiActivate( 
  333.                         Widget wid,
  334.                         XEvent *event,
  335.                         String *params,
  336.                         Cardinal *num_params) ;
  337.  
  338. extern void _XmSocorro( 
  339.                         Widget w,
  340.                         XEvent *event,
  341.                         String *params,
  342.                         Cardinal *num_params) ;
  343. extern Boolean _XmParentProcess( 
  344.                         Widget widget,
  345.                         XmParentProcessData data) ;
  346. extern void _XmClearShadowType( 
  347.                         Widget w,
  348. #if NeedWidePrototypes
  349.                         int old_width,
  350.                         int old_height,
  351.                         int old_shadow_thickness,
  352.                         int old_highlight_thickness) ;
  353. #else
  354.                         Dimension old_width,
  355.                         Dimension old_height,
  356.                         Dimension old_shadow_thickness,
  357.                         Dimension old_highlight_thickness) ;
  358. #endif /* NeedWidePrototypes */
  359. extern void _XmDestroyParentCallback( 
  360.                         Widget w,
  361.                         XtPointer client_data,
  362.                         XtPointer call_data) ;
  363. #endif /* _NO_PROTO */
  364. /********    End Private Function Declarations    ********/
  365.  
  366.  
  367. #ifdef __cplusplus
  368. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  369. #endif
  370.  
  371. #endif /* _XmManagerP_h */
  372. /* DON'T ADD ANYTHING AFTER THIS #endif */
  373.